package com.chainyoung.trademarket.di.module;


import com.chainyoung.common.di.scope.ActivityScope;
import com.chainyoung.common.di.scope.FragmentScope;
import com.chainyoung.trademarket.mvp.contract.FindContract;
import com.chainyoung.trademarket.mvp.contract.IndexContract;
import com.chainyoung.trademarket.mvp.contract.LoginContract;
import com.chainyoung.trademarket.mvp.contract.MsgFragmentContract;
import com.chainyoung.trademarket.mvp.model.FindModel;
import com.chainyoung.trademarket.mvp.model.IndexModel;
import com.chainyoung.trademarket.mvp.model.LoginModel;
import com.chainyoung.trademarket.mvp.model.MsgFragmentModel;
import com.chainyoung.trademarket.ui.fragment.FindFragment;

import dagger.Module;
import dagger.Provides;

@Module
public class MainFragmentModule {

    private MsgFragmentContract.View view;

    private FindContract.View findView;

    private IndexContract.View indexContractView;

    public MainFragmentModule(MsgFragmentContract.View view) {
        this.view = view;
    }

    public MainFragmentModule(FindContract.View view) {
        this.findView = view;
    }

    public MainFragmentModule(IndexContract.View view) {
        this.indexContractView = view;
    }


    @FragmentScope
    @Provides
    MsgFragmentContract.View providerMsgView() {
        return this.view;
    }


    @FragmentScope
    @Provides
    MsgFragmentContract.Model providerMsgModel(MsgFragmentModel model) {
        return model;
    }


    @FragmentScope
    @Provides
    FindContract.View providerFindView() {
        return this.findView;
    }


    @FragmentScope
    @Provides
    FindContract.Model providerFindModel(FindModel model) {
        return model;
    }


    @FragmentScope
    @Provides
    IndexContract.View providerIndexView() {
        return this.indexContractView;
    }


    @FragmentScope
    @Provides
    IndexContract.Model providerIndexModel(IndexModel model) {
        return model;
    }

}
